package cl.sodexo.com.action;

import javax.ejb.EJB;

import org.apache.struts.action.Action;

import cl.gob.ips.offline.jbpm.JBPMBean;
import cl.gob.ips.offline.jbpm.JBPMBeanRemote;
import cl.sodexo.com.dao.EstadoDAO;
import cl.sodexo.com.dao.RequerimientoDAO;
import cl.sodexo.com.dao.TipoRequerimientoDAO;
import cl.sodexo.com.dao.UsuarioDAO;

/**
 * @author psep
 *
 */
public abstract class AbstractManagerDAO extends Action{
	
	@EJB
    protected JBPMBeanRemote beanRemote = new JBPMBean(); 
	private RequerimientoDAO requerimientoDAO;
	private UsuarioDAO usuarioDAO;
	private EstadoDAO estadoDAO;
	private TipoRequerimientoDAO tipoDAO;
	
	/**
	 * @return
	 */
	protected RequerimientoDAO getRequerimientoDAO(){
		if(this.requerimientoDAO == null){
			this.requerimientoDAO = new RequerimientoDAO();
		}
		
		return this.requerimientoDAO;
	}
	
	/**
	 * @return
	 */
	protected UsuarioDAO getUsuarioDAO(){
		if(this.usuarioDAO == null){
			this.usuarioDAO = new UsuarioDAO();
		}
		
		return this.usuarioDAO;
	}
	
	/**
	 * @return
	 */
	protected EstadoDAO getEstadoDAO(){
		if(this.estadoDAO == null){
			this.estadoDAO = new EstadoDAO();
		}
		
		return this.estadoDAO;
	}
	
	/**
	 * @return
	 */
	protected TipoRequerimientoDAO getTipoReqDAO(){
		if(this.tipoDAO == null){
			this.tipoDAO = new TipoRequerimientoDAO();
		}
		
		return this.tipoDAO;
	}

}
